﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using UygulamaTakbisService.wsTakbisServis;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using System.Diagnostics;

namespace UygulamaTakbisService
{
    public class TasinmazDao : IDisposable
    {
        TAKBISWebService takbisServis = new TAKBISWebService();

        public bool TasinmazKaydet(Tasinmaz tasinmaz)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"INSERT INTO Tasinmaz with(updlock) (TasinmazID,TasinmazTip,ParselID,IIBilgiID,IlceBilgiID,KurumBilgiID,MahalleBilgiID,Mevkii,ParselTip,Pafta,Ada,Parsel,Cilt,Sayfa,TapuBolumDurum,TesisIslemBilgiID,TerkinIslemBilgiID,AltTasinmazID,AltTasinmazTip,AltTasinmazTapuBolumDurum,DMHBaslangicTarih,DMHBitisTarih,DMHSureAciklama,DMHCumle,KayitTarih) VALUES (@TasinmazID,@TasinmazTip,@ParselID,@IIBilgiID,@IlceBilgiID,@KurumBilgiID,@MahalleBilgiID,@Mevkii,@ParselTip,@Pafta,@Ada,@Parsel,@Cilt,@Sayfa,@TapuBolumDurum,@TesisIslemBilgiID,@TerkinIslemBilgiID,@AltTasinmazID,@AltTasinmazTip,@AltTasinmazTapuBolumDurum,@DMHBaslangicTarih,@DMHBitisTarih,@DMHSureAciklama,@DMHCumle,GETDATE())";

                        if (tasinmaz.TasinmazID != null)
                            cmd.Parameters.Add("@TasinmazID", tasinmaz.TasinmazID);
                        else
                            cmd.Parameters.Add("@TasinmazID", DBNull.Value);

                        if (tasinmaz.TasinmazTip != null)
                            cmd.Parameters.Add("@TasinmazTip", tasinmaz.TasinmazTip);
                        else
                            cmd.Parameters.Add("@TasinmazTip", DBNull.Value);

                        if (tasinmaz.ParselID != null)
                            cmd.Parameters.Add("@ParselID", tasinmaz.ParselID);
                        else
                            cmd.Parameters.Add("@ParselID", DBNull.Value);

                        if (tasinmaz.Il != null)
                            cmd.Parameters.Add("@IIBilgiID", tasinmaz.Il.IlBilgiID);
                        else
                            cmd.Parameters.Add("@IIBilgiID", DBNull.Value);

                        if (tasinmaz.Ilce != null)
                            cmd.Parameters.Add("@IlceBilgiID", tasinmaz.Ilce.IlceBilgiID);
                        else
                            cmd.Parameters.Add("@IlceBilgiID", DBNull.Value);

                        if (tasinmaz.Kurum != null)
                            cmd.Parameters.Add("@KurumBilgiID", tasinmaz.Kurum.KurumBilgiID);
                        else
                            cmd.Parameters.Add("@KurumBilgiID", DBNull.Value);

                        if (tasinmaz.Mahalle != null)
                            cmd.Parameters.Add("@MahalleBilgiID", tasinmaz.Mahalle.MahalleBilgiID);
                        else
                            cmd.Parameters.Add("@MahalleBilgiID", DBNull.Value);

                        if (tasinmaz.Mevkii != null)
                            cmd.Parameters.Add("@Mevkii", tasinmaz.Mevkii);
                        else
                            cmd.Parameters.Add("@Mevkii", DBNull.Value);

                        if (tasinmaz.ParselTip != null)
                            cmd.Parameters.Add("@ParselTip", (byte)tasinmaz.ParselTip);
                        else
                            cmd.Parameters.Add("@ParselTip", DBNull.Value);

                        if (tasinmaz.Pafta != null)
                            cmd.Parameters.Add("@Pafta", tasinmaz.Pafta);
                        else
                            cmd.Parameters.Add("@Pafta", DBNull.Value);

                        if (tasinmaz.Ada != null)
                            cmd.Parameters.Add("@Ada", tasinmaz.Ada);
                        else
                            cmd.Parameters.Add("@Ada", DBNull.Value);

                        if (tasinmaz.Parsel != null)
                            cmd.Parameters.Add("@Parsel", tasinmaz.Parsel);
                        else
                            cmd.Parameters.Add("@Parsel", DBNull.Value);

                        if (tasinmaz.Cilt != null)
                            cmd.Parameters.Add("@Cilt", tasinmaz.Cilt);
                        else
                            cmd.Parameters.Add("@Cilt", DBNull.Value);

                        if (tasinmaz.Sayfa != null)
                            cmd.Parameters.Add("@Sayfa", tasinmaz.Sayfa);
                        else
                            cmd.Parameters.Add("@Sayfa", DBNull.Value);

                        if (tasinmaz.TapuBolumDurum != null)
                            cmd.Parameters.Add("@TapuBolumDurum", (byte)tasinmaz.TapuBolumDurum);
                        else
                            cmd.Parameters.Add("@TapuBolumDurum", DBNull.Value);

                        if (tasinmaz.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", tasinmaz.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (tasinmaz.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", tasinmaz.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        if (tasinmaz.AltTasinmazID != null)
                            cmd.Parameters.Add("@AltTasinmazID", tasinmaz.AltTasinmazID);
                        else
                            cmd.Parameters.Add("@AltTasinmazID", DBNull.Value);

                        if (tasinmaz.AltTasinmazTip != null)
                            cmd.Parameters.Add("@AltTasinmazTip", tasinmaz.AltTasinmazTip);
                        else
                            cmd.Parameters.Add("@AltTasinmazTip", DBNull.Value);

                        if (tasinmaz.AltTasinmazTapuBolumDurum != null)
                            cmd.Parameters.Add("@AltTasinmazTapuBolumDurum", (byte)tasinmaz.AltTasinmazTapuBolumDurum);
                        else
                            cmd.Parameters.Add("@AltTasinmazTapuBolumDurum", DBNull.Value);

                        if (tasinmaz.DMHBaslangicTarih != null)
                            cmd.Parameters.Add("@DMHBaslangicTarih", tasinmaz.DMHBaslangicTarih);
                        else
                            cmd.Parameters.Add("@DMHBaslangicTarih", DBNull.Value);

                        if (tasinmaz.DMHBitisTarih != null)
                            cmd.Parameters.Add("@DMHBitisTarih", tasinmaz.DMHBitisTarih);
                        else
                            cmd.Parameters.Add("@DMHBitisTarih", DBNull.Value);

                        if (tasinmaz.DMHSureAciklama != null)
                            cmd.Parameters.Add("@DMHSureAciklama", tasinmaz.DMHSureAciklama);
                        else
                            cmd.Parameters.Add("@DMHSureAciklama", DBNull.Value);

                        if (tasinmaz.DMHCumle != null)
                            cmd.Parameters.Add("@DMHCumle", tasinmaz.DMHCumle);
                        else
                            cmd.Parameters.Add("@DMHCumle", DBNull.Value);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }
                    return sonuc;
                }
            }
        }

        public bool TasinmazKayitliMi(decimal tasinmazID)
        {
            bool sonuc = false;
            try
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
                {
                    string sql = string.Format(@"SELECT * FROM Tasinmaz with(nolock) WHERE TasinmazID = {0} ", tasinmazID);
                    using (SqlCommand cmd = new SqlCommand(sql))
                    {
                        using (SqlDataAdapter sda = new SqlDataAdapter())
                        {
                            cmd.Connection = con;
                            sda.SelectCommand = cmd;
                            cmd.CommandTimeout = 60000;
                            DataTable dt = new DataTable();
                            sda.Fill(dt);
                            if (dt.Rows.Count >= 1)
                                sonuc = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return sonuc;
        }

        public bool UstTasinmazOzetKaydet(UstTasinmazOzet ustTasinmazOzet, decimal altTasinmazID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"INSERT INTO UstTasinmazOzet with(updlock) (TasinmazID,TasinmazTip,TasinmazTapuBolumDurum,KayitTarih,AltTasinmazID) VALUES (@TasinmazID,@TasinmazTip,@TasinmazTapuBolumDurum,getdate(),@AltTasinmazID)";

                        if (ustTasinmazOzet.TasinmazID != null)
                            cmd.Parameters.Add("@TasinmazID", ustTasinmazOzet.TasinmazID);
                        else
                            cmd.Parameters.Add("@TasinmazID", DBNull.Value);

                        if (ustTasinmazOzet.TasinmazTip != null)
                            cmd.Parameters.Add("@TasinmazTip", ustTasinmazOzet.TasinmazTip);
                        else
                            cmd.Parameters.Add("@TasinmazTip", DBNull.Value);

                        if (ustTasinmazOzet.TasinmazTapuBolumDurum != null)
                            cmd.Parameters.Add("@TasinmazTapuBolumDurum", (byte)ustTasinmazOzet.TasinmazTapuBolumDurum);
                        else
                            cmd.Parameters.Add("@TasinmazTapuBolumDurum", DBNull.Value);

                        cmd.Parameters.Add("@AltTasinmazID", altTasinmazID);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }
                    return sonuc;
                }
            }
        }

        public bool TasinmazAlanBilgiKaydet(TasinmazAlanBilgi tasinmazAlanBilgi, decimal tasinmazBilgiID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"insert into TasinmazAlan with(updlock) (TasinmazID,TasinmazAlanID,Alan,ArsaPay,ArsaPayda,TesisIslemBilgiID,TerkinIslemBilgiID,TapuBolumDurum,KayitTarih) values (@TasinmazID,@TasinmazAlanID,@Alan,@ArsaPay,@ArsaPayda,@TesisIslemBilgiID,@TerkinIslemBilgiID,@TapuBolumDurum,GETDATE())";

                        cmd.Parameters.Add("@TasinmazID", tasinmazBilgiID);

                        cmd.Parameters.Add("@TapuBolumDurum", (byte)tasinmazAlanBilgi.TapuBolumDurum);

                        cmd.Parameters.Add("@TasinmazAlanID", tasinmazAlanBilgi.TasinmazAlanID);

                        if (tasinmazAlanBilgi.Alan != null)
                            cmd.Parameters.Add("@Alan", tasinmazAlanBilgi.Alan);
                        else
                            cmd.Parameters.Add("@Alan", DBNull.Value);

                        if (tasinmazAlanBilgi.ArsaPay != null)
                            cmd.Parameters.Add("@ArsaPay", tasinmazAlanBilgi.ArsaPay);
                        else
                            cmd.Parameters.Add("@ArsaPay", DBNull.Value);

                        if (tasinmazAlanBilgi.ArsaPayda != null)
                            cmd.Parameters.Add("@ArsaPayda", tasinmazAlanBilgi.ArsaPayda);
                        else
                            cmd.Parameters.Add("@ArsaPayda", DBNull.Value);

                        if (tasinmazAlanBilgi.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", tasinmazAlanBilgi.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (tasinmazAlanBilgi.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", tasinmazAlanBilgi.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }

                    if (sonuc)
                    {
                        //Alan TesisIslemBilgi Kayıt
                        if (tasinmazAlanBilgi.TesisIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazAlanBilgi.TesisIslem))
                                {
                                    bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazAlanBilgi.TesisIslem);

                                    if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazAlanBilgi.TesisIslem.Yevmiye))
                                    {
                                        bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazAlanBilgi.TesisIslem.Yevmiye);
                                    }
                                }
                            }
                        }

                        //Alan TerkinIslemBilgi Kayıt
                        if (tasinmazAlanBilgi.TerkinIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazAlanBilgi.TerkinIslem))
                                {
                                    bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazAlanBilgi.TerkinIslem);

                                    if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazAlanBilgi.TerkinIslem.Yevmiye))
                                    {
                                        bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazAlanBilgi.TerkinIslem.Yevmiye);
                                    }
                                }
                            }
                        }
                    }

                    return sonuc;
                }
            }
        }

        public bool TasinmazCinsBilgiKaydet(TasinmazCinsBilgi tasinmazCinsBilgi, decimal tasinmazBilgiID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"insert into TasinmazCins with(updlock) (TasinmazID,TasinmazCinsID,TesisIslemBilgiID,TerkinIslemBilgiID,TapuBolumDurum,TasinmazCinsAciklama,TasinmazCinsAd,KayitTarih) values (@TasinmazID,@TasinmazCinsID,@TesisIslemBilgiID,@TerkinIslemBilgiID,@TapuBolumDurum,@TasinmazCinsAciklama,@TasinmazCinsAd,GETDATE())";

                        cmd.Parameters.Add("@TasinmazID", tasinmazBilgiID);

                        cmd.Parameters.Add("@TasinmazCinsID", tasinmazCinsBilgi.TasinmazCinsID);

                        cmd.Parameters.Add("@TapuBolumDurum", (byte)tasinmazCinsBilgi.TapuBolumDurum);

                        if (tasinmazCinsBilgi.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", tasinmazCinsBilgi.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (tasinmazCinsBilgi.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", tasinmazCinsBilgi.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        if (tasinmazCinsBilgi.TasinmazCinsAciklama != null)
                            cmd.Parameters.Add("@TasinmazCinsAciklama", tasinmazCinsBilgi.TasinmazCinsAciklama);
                        else
                            cmd.Parameters.Add("@TasinmazCinsAciklama", DBNull.Value);

                        if (tasinmazCinsBilgi.TasinmazCinsAd != null)
                            cmd.Parameters.Add("@TasinmazCinsAd", tasinmazCinsBilgi.TasinmazCinsAd);
                        else
                            cmd.Parameters.Add("@TasinmazCinsAd", DBNull.Value);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }

                    if (sonuc)
                    {
                        //Cins TesisIslemBilgi Kayıt
                        if (tasinmazCinsBilgi.TesisIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazCinsBilgi.TesisIslem))
                                {
                                    bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazCinsBilgi.TesisIslem);

                                    if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazCinsBilgi.TesisIslem.Yevmiye))
                                    {
                                        bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazCinsBilgi.TesisIslem.Yevmiye);
                                    }
                                }
                            }
                        }

                        //Cins TerkinIslemBilgi Kayıt
                        if (tasinmazCinsBilgi.TerkinIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazCinsBilgi.TerkinIslem))
                                {
                                    bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazCinsBilgi.TerkinIslem);

                                    if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazCinsBilgi.TerkinIslem.Yevmiye))
                                    {
                                        bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazCinsBilgi.TerkinIslem.Yevmiye);
                                    }
                                }
                            }
                        }
                    }

                    return sonuc;
                }
            }
        }

        public bool BagimsizBolumBilgiKaydet(BagimsizBolumBilgi bagimsizBolumBilgi, decimal tasinmazBilgiID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"insert into BagimsizBolum with(updlock) (TasinmazID,BagimsizBolumID,Kat,Blok,Giris,BagimsizBolumNo,TesisIslemBilgiID,TerkinIslemBilgiID,TapuBolumDurum,KMKITip,KayitTarih)values (@TasinmazID,@BagimsizBolumID,@Kat,@Blok,@Giris,@BagimsizBolumNo,@TesisIslemBilgiID,@TerkinIslemBilgiID,@TapuBolumDurum,@KMKITip,Getdate())";

                        cmd.Parameters.Add("@TasinmazID", tasinmazBilgiID);

                        cmd.Parameters.Add("@BagimsizBolumID", bagimsizBolumBilgi.BagimsizBolumID);

                        if (bagimsizBolumBilgi.Kat != null)
                            cmd.Parameters.Add("@Kat", bagimsizBolumBilgi.Kat);
                        else
                            cmd.Parameters.Add("@Kat", DBNull.Value);

                        if (bagimsizBolumBilgi.Blok != null)
                            cmd.Parameters.Add("@Blok", bagimsizBolumBilgi.Blok);
                        else
                            cmd.Parameters.Add("@Blok", DBNull.Value);

                        if (bagimsizBolumBilgi.Giris != null)
                            cmd.Parameters.Add("@Giris", bagimsizBolumBilgi.Giris);
                        else
                            cmd.Parameters.Add("@Giris", DBNull.Value);

                        cmd.Parameters.Add("@BagimsizBolumNo", bagimsizBolumBilgi.BagimsizBolumNo);

                        if (bagimsizBolumBilgi.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", bagimsizBolumBilgi.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (bagimsizBolumBilgi.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", bagimsizBolumBilgi.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        cmd.Parameters.Add("@TapuBolumDurum", (byte)bagimsizBolumBilgi.TapuBolumDurum);

                        if (bagimsizBolumBilgi.KMKITip != null)
                            cmd.Parameters.Add("@KMKITip", bagimsizBolumBilgi.KMKITip);
                        else
                            cmd.Parameters.Add("@KMKITip", DBNull.Value);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }

                    if (sonuc)
                    {
                        //bagimsizBolumBilgi TesisIslemBilgi Kayıt
                        if (bagimsizBolumBilgi.TesisIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(bagimsizBolumBilgi.TesisIslem))
                                {
                                    bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(bagimsizBolumBilgi.TesisIslem);

                                    if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(bagimsizBolumBilgi.TesisIslem.Yevmiye))
                                    {
                                        bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(bagimsizBolumBilgi.TesisIslem.Yevmiye);
                                    }
                                }
                            }
                        }

                        //bagimsizBolumBilgi TerkinIslemBilgi Kayıt
                        if (bagimsizBolumBilgi.TerkinIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(bagimsizBolumBilgi.TerkinIslem))
                                {
                                    bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(bagimsizBolumBilgi.TerkinIslem);

                                    if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(bagimsizBolumBilgi.TerkinIslem.Yevmiye))
                                    {
                                        bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(bagimsizBolumBilgi.TerkinIslem.Yevmiye);
                                    }
                                }
                            }
                        }
                    }

                    return sonuc;
                }
            }
        }

        public bool UstTasinmazOzetKayitliMi(decimal tasinmazID)
        {
            bool sonuc = false;
            try
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
                {
                    string sql = string.Format(@"SELECT * FROM UstTasinmazOzet with(nolock) WHERE TasinmazID = {0} ", tasinmazID);
                    using (SqlCommand cmd = new SqlCommand(sql))
                    {
                        using (SqlDataAdapter sda = new SqlDataAdapter())
                        {
                            cmd.Connection = con;
                            sda.SelectCommand = cmd;
                            cmd.CommandTimeout = 60000;
                            DataTable dt = new DataTable();
                            sda.Fill(dt);
                            if (dt.Rows.Count >= 1)
                                sonuc = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return sonuc;
        }

        public bool TasinmazTeferruatKaydet(TasinmazTeferruat tasinmazTeferruat, decimal tasinmazID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"INSERT INTO TasinmazTeferruat with(updlock) (TasinmazTeferruatID,Aciklama,TeferruatTip,TesisIslemBilgiID,TerkinIslemBilgiID,TapuBolumDurum,Adet,BirimBilgiID,Deger,DovizBilgiID,KayitTarih,TasinmazID) VALUES (@TasinmazTeferruatID,@Aciklama,@TeferruatTip,@TesisIslemBilgiID,@TerkinIslemBilgiID,@TapuBolumDurum,@Adet,@BirimBilgiID,@Deger,@DovizBilgiID,GETDATE(),@TasinmazID)";

                        if (tasinmazTeferruat.TasinmazTeferruatID != null)
                            cmd.Parameters.Add("@TasinmazTeferruatID", tasinmazTeferruat.TasinmazTeferruatID);
                        else
                            cmd.Parameters.Add("@TasinmazTeferruatID", DBNull.Value);

                        if (tasinmazTeferruat.Aciklama != null)
                            cmd.Parameters.Add("@Aciklama", tasinmazTeferruat.Aciklama);
                        else
                            cmd.Parameters.Add("@Aciklama", DBNull.Value);

                        if (tasinmazTeferruat.TeferruatTip != null)
                            cmd.Parameters.Add("@TeferruatTip", (byte)tasinmazTeferruat.TeferruatTip);
                        else
                            cmd.Parameters.Add("@TeferruatTip", DBNull.Value);

                        if (tasinmazTeferruat.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", tasinmazTeferruat.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (tasinmazTeferruat.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", tasinmazTeferruat.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        if (tasinmazTeferruat.TapuBolumDurum != null)
                            cmd.Parameters.Add("@TapuBolumDurum", (byte)tasinmazTeferruat.TapuBolumDurum);
                        else
                            cmd.Parameters.Add("@TapuBolumDurum", DBNull.Value);

                        if (tasinmazTeferruat.Adet != null)
                            cmd.Parameters.Add("@Adet", tasinmazTeferruat.Adet);
                        else
                            cmd.Parameters.Add("@Adet", DBNull.Value);

                        if (tasinmazTeferruat.AdetBirim != null)
                            cmd.Parameters.Add("@BirimBilgiID", tasinmazTeferruat.AdetBirim.BirimBilgiID);
                        else
                            cmd.Parameters.Add("@BirimBilgiID", DBNull.Value);

                        if (tasinmazTeferruat.Deger != null)
                            cmd.Parameters.Add("@Deger", tasinmazTeferruat.Deger);
                        else
                            cmd.Parameters.Add("@Deger", DBNull.Value);

                        if (tasinmazTeferruat.Doviz != null)
                            cmd.Parameters.Add("@DovizBilgiID", tasinmazTeferruat.Doviz.DovizBilgiID);
                        else
                            cmd.Parameters.Add("@DovizBilgiID", DBNull.Value);

                        cmd.Parameters.Add("@TasinmazID", tasinmazID);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }

                    if (sonuc)
                    {
                        //tasinmazTeferruat TesisIslemBilgi Kayıt
                        if (tasinmazTeferruat.TesisIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazTeferruat.TesisIslem))
                                {
                                    bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazTeferruat.TesisIslem);

                                    if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazTeferruat.TesisIslem.Yevmiye))
                                    {
                                        bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazTeferruat.TesisIslem.Yevmiye);
                                    }
                                }
                            }
                        }

                        //tasinmazTeferruat TerkinIslemBilgi Kayıt
                        if (tasinmazTeferruat.TerkinIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazTeferruat.TerkinIslem))
                                {
                                    bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazTeferruat.TerkinIslem);

                                    if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazTeferruat.TerkinIslem.Yevmiye))
                                    {
                                        bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazTeferruat.TerkinIslem.Yevmiye);
                                    }
                                }
                            }
                        }
                    }

                    return sonuc;
                }
            }
        }

        public bool TasinmazTeferruatiKayitliMi(decimal tasinmazTeferruatID)
        {
            bool sonuc = false;
            try
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
                {
                    string sql = string.Format(@"SELECT * FROM TasinmazTeferruat with(nolock) WHERE TasinmazTeferruatID = {0} ", tasinmazTeferruatID);
                    using (SqlCommand cmd = new SqlCommand(sql))
                    {
                        using (SqlDataAdapter sda = new SqlDataAdapter())
                        {
                            cmd.Connection = con;
                            sda.SelectCommand = cmd;
                            cmd.CommandTimeout = 60000;
                            DataTable dt = new DataTable();
                            sda.Fill(dt);
                            if (dt.Rows.Count >= 1)
                                sonuc = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return sonuc;
        }

        public bool TasinmazEklentiKaydet(TasinmazEklenti tasinmazEklenti, decimal tasinmazID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"INSERT INTO TasinmazEklenti with(updlock) (TasinmazEklentiID,Aciklama,EklentiTip,TesisIslemBilgiID,TerkinIslemBilgiID,TapuBolumDurum,KayitTarih,TasinmazID) VALUES (@TasinmazEklentiID,@Aciklama,@EklentiTip,@TesisIslemBilgiID,@TerkinIslemBilgiID,@TapuBolumDurum,GETDATE(),@TasinmazID)";

                        if (tasinmazEklenti.TasinmazEklentiID != null)
                            cmd.Parameters.Add("@TasinmazEklentiID", tasinmazEklenti.TasinmazEklentiID);
                        else
                            cmd.Parameters.Add("@TasinmazEklentiID", DBNull.Value);

                        if (tasinmazEklenti.Aciklama != null)
                            cmd.Parameters.Add("@Aciklama", tasinmazEklenti.Aciklama);
                        else
                            cmd.Parameters.Add("@Aciklama", DBNull.Value);

                        if (tasinmazEklenti.EklentiTip != null)
                            cmd.Parameters.Add("@EklentiTip", tasinmazEklenti.EklentiTip);
                        else
                            cmd.Parameters.Add("@EklentiTip", DBNull.Value);

                        if (tasinmazEklenti.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", tasinmazEklenti.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (tasinmazEklenti.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", tasinmazEklenti.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        if (tasinmazEklenti.TapuBolumDurum != null)
                            cmd.Parameters.Add("@TapuBolumDurum", (byte)tasinmazEklenti.TapuBolumDurum);
                        else
                            cmd.Parameters.Add("@TapuBolumDurum", DBNull.Value);

                        cmd.Parameters.Add("@TasinmazID", tasinmazID);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }

                    if (sonuc)
                    {
                        //tasinmazEklenti TesisIslemBilgi Kayıt
                        if (tasinmazEklenti.TesisIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazEklenti.TesisIslem))
                                {
                                    bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazEklenti.TesisIslem);

                                    if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazEklenti.TesisIslem.Yevmiye))
                                    {
                                        bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazEklenti.TesisIslem.Yevmiye);
                                    }
                                }
                            }
                        }

                        //tasinmazEklenti TerkinIslemBilgi Kayıt
                        if (tasinmazEklenti.TerkinIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazEklenti.TerkinIslem))
                                {
                                    bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazEklenti.TerkinIslem);

                                    if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazEklenti.TerkinIslem.Yevmiye))
                                    {
                                        bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazEklenti.TerkinIslem.Yevmiye);
                                    }
                                }
                            }
                        }
                    }

                    return sonuc;
                }
            }
        }

        public bool TasinmazEklentiKayitliMi(decimal tasinmazEklentiID)
        {
            bool sonuc = false;
            try
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
                {
                    string sql = string.Format(@"SELECT * FROM TasinmazEklenti with(nolock) WHERE TasinmazEklentiID = {0} ", tasinmazEklentiID);
                    using (SqlCommand cmd = new SqlCommand(sql))
                    {
                        using (SqlDataAdapter sda = new SqlDataAdapter())
                        {
                            cmd.Connection = con;
                            sda.SelectCommand = cmd;
                            cmd.CommandTimeout = 60000;
                            DataTable dt = new DataTable();
                            sda.Fill(dt);
                            if (dt.Rows.Count >= 1)
                                sonuc = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return sonuc;
        }

        public List<TasinmazTeferruat> GetirTasinmazTeferruatTasinmazIDDen(decimal tasinmazID, TapuBolumDurum tapuBolumDurum, long kullaniciID)
        {
            List<TasinmazTeferruat> tasinmazTeferruatList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazTeferruatList = takbisServis.GetirTasinmazTeferruatTasinmazIDDen(tasinmazID, tapuBolumDurum).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    stopwatch2.Start();
                    foreach (TasinmazTeferruat tasinmazTeferruat in tasinmazTeferruatList)
                    {
                        bool tasinmazTeferruatKayitEdildiMi = TasinmazTeferruatKaydet(tasinmazTeferruat, tasinmazID);

                        if (tasinmazTeferruatKayitEdildiMi == true && tasinmazTeferruat.Doviz != null)
                        {
                            using (DovizBilgiDao dovizBilgiDao = new DovizBilgiDao())
                            {
                                if (!dovizBilgiDao.DovizBilgiKayitliMi(tasinmazTeferruat.Doviz))
                                {
                                    bool dovizKayitEdildiMi = dovizBilgiDao.DovizBilgiKaydet(tasinmazTeferruat.Doviz);
                                }
                            }
                        }
                    }
                    stopwatch2.Stop();
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazTeferruatTasinmazIDDen", null, tasinmazTeferruatList, "TaşınmazID = " + tasinmazID.ToString() + ", TapuBolumDurum = " + tapuBolumDurum.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazTeferruatList;
        }

        public List<TasinmazEklenti> GetirTasinmazEklentiIDDen(decimal tasinmazID, TapuBolumDurum tapuBolumDurum, long kullaniciID)
        {
            List<TasinmazEklenti> tasinmazEklentiList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazEklentiList = takbisServis.GetirTasinmazEklentiTasinmazIDDen(tasinmazID, tapuBolumDurum).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    stopwatch2.Start();
                    foreach (TasinmazEklenti tasinmazEklenti in tasinmazEklentiList)
                    {
                        bool sonuc = TasinmazEklentiKaydet(tasinmazEklenti, tasinmazID);
                    }
                    stopwatch2.Stop();
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazEklentiIDDen", null, tasinmazEklentiList, "TaşınmazID = " + tasinmazID.ToString() + ", TapuBolumDurum = " + tapuBolumDurum.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazEklentiList;
        }

        public Tasinmaz GetirTasinmazIDden(decimal tasinmazID, long kullaniciID)
        {
            Tasinmaz tasinmaz = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmaz = takbisServis.GetirTasinmazIDden(tasinmazID);
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmaz != null && tasinmaz.TasinmazID != 0)
                    {
                        stopwatch2.Start();
                        bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                        if (tasinmazKayitEdildiMi)
                            TasinmazDetayKaydet(tasinmaz);
                        stopwatch2.Stop();
                    }
                    else
                        tasinmaz = null;
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazIDden", null, tasinmaz, "TaşınmazID=" + tasinmazID.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmaz;
        }

        public List<Tasinmaz> GetirTasinmazTCKimlikNumarasinDan(long tcKimlikNo, long kullaniciID)
        {
            List<Tasinmaz> tasinmazlist = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazlist = takbisServis.GetirTasinmazTCKimlikNumarasinDan(tcKimlikNo).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazlist != null && tasinmazlist.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazlist)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazlist = null;
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazTCKimlikNumarasinDan", null, tasinmazlist, "TcKimlikNo=" + tcKimlikNo.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazlist;
        }

        public List<Tasinmaz> GetirTasinmazAdSoyadBabaAdDan(string adi, string soyadi, string babaadi, long kullaniciID)
        {
            List<Tasinmaz> tasinmazlist = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazlist = takbisServis.GetirTasinmazAdSoyadBabaAdDan(adi, soyadi, babaadi).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazlist != null && tasinmazlist.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazlist)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazlist = null;
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazAdSoyadBabaAdDan", null, tasinmazlist, "Adı = " + adi + ", Soyadı = " + soyadi + ", BabaAdı = " + babaadi, Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazlist;
        }

        private void TasinmazDetayKaydet(Tasinmaz tasinmaz)
        {
            using (IdariBirimDao idariBirimDao = new IdariBirimDao())
            {
                //IlBilgi Kayıt
                if (tasinmaz.Il != null && !idariBirimDao.IlBilgiKayitliMi(tasinmaz.Il))
                {
                    bool ilKayitEdildiMi = idariBirimDao.IlBilgiKaydet(tasinmaz.Il);
                }

                //IlceBilgi Kayıt
                if (tasinmaz.Ilce != null && !idariBirimDao.IlceBilgiKayitliMi(tasinmaz.Ilce))
                {
                    bool ilceKayitEdildiMi = idariBirimDao.IlceBilgiKaydet(tasinmaz.Ilce);
                }

                //KurumBilgi Kayıt
                if (tasinmaz.Kurum != null && !idariBirimDao.KurumBilgiKayitliMi(tasinmaz.Kurum))
                {
                    bool kurumKayitEdildiMi = idariBirimDao.KurumBilgiKaydet(tasinmaz.Kurum);
                }

                //MahalleBilgi Kayıt
                if (tasinmaz.Mahalle != null && !idariBirimDao.MahalleBilgiKayitliMi(tasinmaz.Mahalle))
                {
                    bool mahalleKayitEdildiMi = idariBirimDao.MahalleBilgiKaydet(tasinmaz.Mahalle);
                }
            }

            //TesisIslemBilgi Kayıt
            if (tasinmaz.TesisIslem != null)
            {
                using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                {
                    if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmaz.TesisIslem))
                    {
                        bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmaz.TesisIslem);

                        if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmaz.TesisIslem.Yevmiye))
                        {
                            bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmaz.TesisIslem.Yevmiye);
                        }
                    }
                }
            }

            //TerkinIslemBilgi Kayıt
            if (tasinmaz.TerkinIslem != null)
            {
                using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                {
                    if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmaz.TerkinIslem))
                    {
                        bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmaz.TerkinIslem);

                        if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmaz.TerkinIslem.Yevmiye))
                        {
                            bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmaz.TerkinIslem.Yevmiye);
                        }
                    }
                }
            }

            //UstTasinmazOzet Kayıt
            if (tasinmaz.UstTasinmazList != null)
            {
                foreach (UstTasinmazOzet ustTasinmazOzet in tasinmaz.UstTasinmazList)
                {
                    bool ustTasinmazOzetKayitEdildiMi = UstTasinmazOzetKaydet(ustTasinmazOzet, tasinmaz.TasinmazID);
                }
            }

            //TasinmazAlan Kayıt
            if (tasinmaz.TasinmazAlanBilgiList != null)
            {
                using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                {
                    foreach (TasinmazAlanBilgi tasinmazAlanBilgi in tasinmaz.TasinmazAlanBilgiList)
                    {
                        bool tasinmazAlanBilgiKayitEdildiMi = TasinmazAlanBilgiKaydet(tasinmazAlanBilgi, tasinmaz.TasinmazID);
                    }
                }
            }

            //TasinmazCins Kayıt
            if (tasinmaz.TasinmazCinsBilgiList != null)
            {
                using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                {
                    foreach (TasinmazCinsBilgi tasinmazCinsBilgi in tasinmaz.TasinmazCinsBilgiList)
                    {
                        bool tasinmazCinsBilgiKayitEdildiMi = TasinmazCinsBilgiKaydet(tasinmazCinsBilgi, tasinmaz.TasinmazID);
                    }
                }
            }

            //BagimsizBolum Kayıt
            if (tasinmaz.BagimsizBolumList != null)
            {
                using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                {
                    foreach (BagimsizBolumBilgi bagimsizBolumBilgi in tasinmaz.BagimsizBolumList)
                    {
                        bool tasinmazBagimsizBolumBilgiKayitEdildiMi = BagimsizBolumBilgiKaydet(bagimsizBolumBilgi, tasinmaz.TasinmazID);
                    }
                }
            }
        }

        public List<Tasinmaz> GetirTasinmazAdaParselden(decimal mahalleID, string adaNo, string parselNo, TapuBolumDurum tapuBolumDurum, TasinmazTip tasinmazTip, string kat, string blok, string giris, string bbno, long kullaniciID)
        {
            List<Tasinmaz> tasinmazList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazList = takbisServis.GetirTasinmazAdaParselden(mahalleID, adaNo, parselNo, tapuBolumDurum, tasinmazTip, kat, blok, giris, bbno).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazList != null && tasinmazList.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazList)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazList = null;

                    logDao.TakbisBilgiSorguLogKaydet("TasinmazGetirAdaParselden", null, tasinmazList, "MahalleID = " + mahalleID.ToString() + ", AdaNo = " + adaNo.ToString() + ", ParselNo = " + parselNo.ToString() + ", TapuBolumDurum = " + tapuBolumDurum.ToString() + ", TaşınmazTip = " + tasinmazTip.ToString() + ", Kat = " + kat + ", Blok = " + blok + ", Giriş = " + giris + ", BağımsızBölümNo = " + bbno, Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazList;
        }

        public List<Tasinmaz> GetirMalikTasinmazTasinmazTipten(MalikTip malikTip, TasinmazTip tasinmazTip, decimal malikRef, TapuBolumDurum tapuBolumDurum, long kullaniciID)
        {
            List<Tasinmaz> tasinmazList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazList = takbisServis.GetirMalikTasinmazTasinmazTipten(malikTip, tasinmazTip, malikRef, tapuBolumDurum).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazList != null && tasinmazList.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazList)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazList = null;

                    logDao.TakbisBilgiSorguLogKaydet("GetirMalikTasinmazTasinmazTipten", null, tasinmazList, "MalikTip = " + malikTip.ToString() + ", TaşınmazTip = " + tasinmazTip.ToString() + ", MalikID = " + malikRef.ToString() + ", TapuBolumDurum = " + tapuBolumDurum.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazList;
        }

        public List<Tasinmaz> GetirMalikTasinmazTesisTerkinTarihinden(MalikTip malikTip, DateTime tesisTarih, DateTime terkinTarih, decimal malikRef, long kullaniciID)
        {
            List<Tasinmaz> tasinmazList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazList = takbisServis.GetirMalikTasinmazTesisTerkinTarihinden(malikTip, tesisTarih, terkinTarih, malikRef).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazList != null && tasinmazList.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazList)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazList = null;

                    logDao.TakbisBilgiSorguLogKaydet("GetirMalikTasinmazTesisTerkinTarihinden", null, tasinmazList, "MalikTip = " + malikTip.ToString() + ", TesisTarih = " + tesisTarih.ToString() + ", TerkinTarih = " + terkinTarih.ToString() + ", MalikID = " + malikRef.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazList;
        }

        public List<Tasinmaz> GetirMalikTasinmazTerkinTarihinden(MalikTip malikTip, DateTime terkinBaslangicTarih, DateTime terkinBitisTarih, decimal malikRef, long kullaniciID)
        {
            List<Tasinmaz> tasinmazList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazList = takbisServis.GetirMalikTasinmazTerkinTarihinden(malikTip, terkinBaslangicTarih, terkinBitisTarih, malikRef).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazList != null && tasinmazList.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazList)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazList = null;

                    logDao.TakbisBilgiSorguLogKaydet("GetirMalikTasinmazTerkinTarihinden", null, tasinmazList, "MalikTip = " + malikTip.ToString() + ", TerkinBaşlangıçTarih = " + terkinBaslangicTarih.ToString() + ", TerkinBitişTarih = " + terkinBitisTarih.ToString() + ", MalikID = " + malikRef.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazList;
        }

        public List<Tasinmaz> GetirMalikTasinmazTesisTarihinden(MalikTip malikTip, DateTime tesisBaslangicTarih, DateTime tesisBitisTarih, decimal malikRef, long kullaniciID)
        {
            List<Tasinmaz> tasinmazList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazList = takbisServis.GetirMalikTasinmazTesisTarihinden(malikTip, tesisBaslangicTarih, tesisBitisTarih, malikRef).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazList != null && tasinmazList.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazList)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazList = null;

                    logDao.TakbisBilgiSorguLogKaydet("GetirMalikTasinmazTesisTarihinden", null, tasinmazList, "MalikTip = " + malikTip.ToString() + ", TesisBaşlangıçTarih = " + tesisBaslangicTarih.ToString() + ", TesisBitişTarih = " + tesisBitisTarih.ToString() + ", MalikID = " + malikRef.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazList;
        }

        public List<Tasinmaz> GetirMalikTasinmazBolgeden(MalikTip malikTip, BolgeTip bolgeTip, decimal bolgeID, decimal malikRef, TapuBolumDurum tapuBolumDurum, long kullaniciID)
        {
            List<Tasinmaz> tasinmazList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazList = takbisServis.GetirMalikTasinmazBolgeden(malikTip, bolgeTip, bolgeID, malikRef, tapuBolumDurum).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmazList != null && tasinmazList.Count != 0)
                    {
                        stopwatch2.Start();
                        foreach (Tasinmaz tasinmaz in tasinmazList)
                        {
                            bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                            if (tasinmazKayitEdildiMi)
                                TasinmazDetayKaydet(tasinmaz);
                        }
                        stopwatch2.Stop();
                    }
                    else
                        tasinmazList = null;

                    logDao.TakbisBilgiSorguLogKaydet("GetirMalikTasinmazBolgeden", null, tasinmazList, "MalikTip = " + malikTip.ToString() + ", BölgeTip = " + bolgeTip.ToString() + ", BölgeID = " + bolgeID.ToString() + ", MalikID = " + malikRef.ToString() + ", TapuBolumDurum = " + tapuBolumDurum, Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazList;
        }

        public Tasinmaz GetirTasinmazCiltSayfadan(string cilt, string sayfa, decimal mahalleId, TasinmazTip tasinmazTip, long kullaniciID)
        {
            Tasinmaz tasinmaz = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmaz = takbisServis.GetirTasinmazCiltSayfadan(cilt, sayfa, mahalleId, tasinmazTip);
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    if (tasinmaz != null && tasinmaz.TasinmazID != 0)
                    {
                        stopwatch2.Start();
                        bool tasinmazKayitEdildiMi = TasinmazKaydet(tasinmaz);
                        if (tasinmazKayitEdildiMi)
                            TasinmazDetayKaydet(tasinmaz);
                        stopwatch2.Stop();
                    }
                    else
                        tasinmaz = null;
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazCiltSayfadan", null, tasinmaz, "CiltNo = " + cilt + ", SayfaNo = " + sayfa + ", MahalleID = " + mahalleId.ToString() + ", TasınmazTip = " + tasinmazTip.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmaz;
        }

        public bool TasinmazMuhdesatKaydet(TasinmazMuhdesat tasinmazMuhdesat, decimal tasinmazID)
        {
            bool sonuc;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    con.Open();
                    SqlTransaction transaction = con.BeginTransaction("trans");
                    try
                    {
                        cmd.CommandText = @"INSERT INTO TasinmazMuhdesat with(updlock) (TasinmazMuhdesatID,MuhdesatTip,Tanim,TesisIslemBilgiID,TerkinIslemBilgiID,TapuBolumDurum,TasinmazID,KayitTarih) VALUES (@TasinmazMuhdesatID,@MuhdesatTip,@Tanim,@TesisIslemBilgiID,@TerkinIslemBilgiID,@TapuBolumDurum,@TasinmazID,GETDATE())";

                        if (tasinmazMuhdesat.TasinmazMuhdesatID != null)
                            cmd.Parameters.Add("@TasinmazMuhdesatID", tasinmazMuhdesat.TasinmazMuhdesatID);
                        else
                            cmd.Parameters.Add("@TasinmazMuhdesatID", DBNull.Value);

                        if (tasinmazMuhdesat.MuhdesatTip != null)
                            cmd.Parameters.Add("@MuhdesatTip", (byte)tasinmazMuhdesat.MuhdesatTip);
                        else
                            cmd.Parameters.Add("@MuhdesatTip", DBNull.Value);

                        if (tasinmazMuhdesat.Tanim != null)
                            cmd.Parameters.Add("@Tanim", tasinmazMuhdesat.Tanim);
                        else
                            cmd.Parameters.Add("@Tanim", DBNull.Value);

                        if (tasinmazMuhdesat.TesisIslem != null)
                            cmd.Parameters.Add("@TesisIslemBilgiID", tasinmazMuhdesat.TesisIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TesisIslemBilgiID", DBNull.Value);

                        if (tasinmazMuhdesat.TerkinIslem != null)
                            cmd.Parameters.Add("@TerkinIslemBilgiID", tasinmazMuhdesat.TerkinIslem.IslemBilgiID);
                        else
                            cmd.Parameters.Add("@TerkinIslemBilgiID", DBNull.Value);

                        if (tasinmazMuhdesat.TapuBolumDurum != null)
                            cmd.Parameters.Add("@TapuBolumDurum", (byte)tasinmazMuhdesat.TapuBolumDurum);
                        else
                            cmd.Parameters.Add("@TapuBolumDurum", DBNull.Value);

                        cmd.Parameters.Add("@TasinmazID", tasinmazID);

                        cmd.Connection = con;
                        cmd.Transaction = transaction;
                        cmd.ExecuteScalar();
                        transaction.Commit();
                        sonuc = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        sonuc = false;
                        using (ExceptionLogDao el = new ExceptionLogDao())
                        {
                            el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                        }
                    }
                    finally
                    {
                        con.Close();
                        con.Dispose();
                        cmd.Dispose();
                    }

                    if (sonuc)
                    {
                        //tasinmazMuhdesat TesisIslemBilgi Kayıt
                        if (tasinmazMuhdesat.TesisIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazMuhdesat.TesisIslem))
                                {
                                    bool tesisIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazMuhdesat.TesisIslem);

                                    if (tesisIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazMuhdesat.TesisIslem.Yevmiye))
                                    {
                                        bool tesisYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazMuhdesat.TesisIslem.Yevmiye);
                                    }
                                }
                            }
                        }

                        //tasinmazMuhdesat TerkinIslemBilgi Kayıt
                        if (tasinmazMuhdesat.TerkinIslem != null)
                        {
                            using (IslemBilgiDao islemBilgiDao = new IslemBilgiDao())
                            {
                                if (!islemBilgiDao.IslemBilgiKayitliMi(tasinmazMuhdesat.TerkinIslem))
                                {
                                    bool terkinIslemBilgiKayitEdildiMi = islemBilgiDao.IslemBilgiKaydet(tasinmazMuhdesat.TerkinIslem);

                                    if (terkinIslemBilgiKayitEdildiMi = true && !islemBilgiDao.YevmiyeBilgiKayitliMi(tasinmazMuhdesat.TerkinIslem.Yevmiye))
                                    {
                                        bool terkinYevmiyeBilgiKayitEdildiMi = islemBilgiDao.YevmiyeBilgiKaydet(tasinmazMuhdesat.TerkinIslem.Yevmiye);
                                    }
                                }
                            }
                        }
                    }

                    return sonuc;
                }
            }
        }

        public bool TasinmazMuhdesatVarmi(decimal tasinmazMuhdesatID)
        {
            bool sonuc = false;
            try
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TakbisBilgiSorguLogConnection"].ToString()))
                {
                    string sql = string.Format(@"SELECT * FROM TasinmazMuhdesat with(nolock) WHERE TuzelKisiBilgiID = {0} ", tasinmazMuhdesatID);
                    using (SqlCommand cmd = new SqlCommand(sql))
                    {
                        using (SqlDataAdapter sda = new SqlDataAdapter())
                        {
                            cmd.Connection = con;
                            sda.SelectCommand = cmd;
                            cmd.CommandTimeout = 60000;
                            DataTable dt = new DataTable();
                            sda.Fill(dt);
                            if (dt.Rows.Count >= 1)
                                sonuc = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return sonuc;
        }

        public List<TasinmazMuhdesat> GetirTasinmazMuhdesatTasinmazIDDen(decimal tasinmazID, TapuBolumDurum tapuBolumDurum, long kullaniciID)
        {
            List<TasinmazMuhdesat> tasinmazMuhdesatList = null;
            try
            {
                using (LogDao logDao = new LogDao())
                {
                    Stopwatch stopwatch = new Stopwatch();
                    stopwatch.Start();
                    tasinmazMuhdesatList = takbisServis.GetirTasinmazMuhdesatTasinmazIDDen(tasinmazID, tapuBolumDurum).ToList();
                    stopwatch.Stop();

                    Stopwatch stopwatch2 = new Stopwatch();
                    stopwatch2.Start();
                    foreach (TasinmazMuhdesat tasinmazMuhdesat in tasinmazMuhdesatList)
                    {
                        bool tasinmazMuhdesatKayitEdildiMi = TasinmazMuhdesatKaydet(tasinmazMuhdesat, tasinmazID);
                        if (tasinmazMuhdesatKayitEdildiMi == true && tasinmazMuhdesat.MuhdesatMalikList != null)
                        {
                            using (HissedarDao hissedarDao = new HissedarDao())
                            {
                                foreach (Hissedar hissedar in tasinmazMuhdesat.MuhdesatMalikList)
                                {
                                    bool hissedarKayitEdildiMi = hissedarDao.HissedarKaydet(hissedar, TapuBolum.MuhdesatMalik, tasinmazID);
                                }
                            }
                        }
                    }
                    stopwatch2.Stop();
                    logDao.TakbisBilgiSorguLogKaydet("GetirTasinmazMuhdesatTasinmazIDDen", null, tasinmazMuhdesatList, "TaşınmazID = " + tasinmazID.ToString() + ", TapuBolumDurum = " + tapuBolumDurum.ToString(), Convert.ToDecimal(stopwatch.ElapsedMilliseconds), Convert.ToDecimal(stopwatch2.ElapsedMilliseconds), kullaniciID);
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                }
            }
            return tasinmazMuhdesatList;
        }

        public void Dispose()
        {
        }
    }
}
